这次使用 python3-certbot-nginx
为网站添加 https,步骤简单,方便好用。当前的服务器版本为 debian 10,添加 https 的步骤如下:
安装之前,更新包列表:
sudo apt update
安装对应的包依赖:
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface
安装完依赖后,安装 python3-certbot-nginx
sudo apt install python3-certbot-nginx
安装完毕后,需要查看对应的 nginx 配置:
sudo nano /etc/nginx/sites-available/your_domain
配置文件中需包含以下内容:
...
server_name your_domain www.your_domain;
...
如果没有找到对应文件,可以新建一个配置文件。
保存配置文件后重启 nginx
服务:
sudo systemctl reload nginx
接下来,需要使用 ufw
设置防火墙规则,允许 https 流量访问:(未设置防火墙可以跳过此步骤)
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
sudo ufw status
输出结果如下:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
下一步,是获取 SSL 证书:
sudo certbot --nginx -d your_domain -d www.your_domain
配置完成后,就可以进行 SSL Labs Server Test 并查看评分了。
Let's Encrypt
的证书有效期只有 90 天,因此需要设置证书自动更新:
sudo certbot renew --dry-run
至此,设置完成。